package com.co.ud.icehome.utils.enums;



import com.co.ud.icehome.sensores.Sensor;

public class ProtocolIceHome {

	
	/**
	 * Envia los datos del sensor con el id del usuario
	 * @param userId
	 * @param sensor
	 * @return
	 */
	public static String SendMessage(String userId,Sensor sensor){
		
		return KeyMessage.USER.getMsg()+KeyMessage.SEPARATOR.getMsg()+userId+ 
				KeyMessage.SERVICE_SEPARATOR.getMsg()+
				sensor.getType()+KeyMessage.SEPARATOR.getMsg()+sensor.getData();
		
	}
	
	
	/**
	 * Recupera el usuario de la trama del mensaje
	 * @param msg
	 * @return
	 */
	public static String getUser (String msg){
		
		String user=null;
		
		
		String[] Keys_Values=msg.split(KeyMessage.SERVICE_SEPARATOR.getMsg());
		if(Keys_Values!=null && Keys_Values.length > 0){
			String userValue=(String)Keys_Values[0];
			
			if(userValue!=null){
				//System.out.println("ProtocolIceHome : uservalue "+userValue);
				String[] obj =userValue.split(KeyMessage.SEPARATOR.getMsg());
				user=(String)obj[1];
				
			}else{
				System.out.println("ProtocolIceHome : no exite la llave y valor para usuario dentro del mensaje");
			}
		}else{
			System.out.println("ProtocolIceHome : no exite ninguna llave usuario-valor el mensaje puede ser nulo");	
		}
		return user;
		
	}
	
	/**
	 * Recupera el valor de sensor asociado a la trama del mensaje
	 * @param msg
	 * @return
	 */
	public static String getSensorValue(String msg){
		
		String value=null;
		
		String[] Keys_Values=msg.split(KeyMessage.SERVICE_SEPARATOR.getMsg());
		if(Keys_Values!=null && Keys_Values.length > 0){
			value=(String)Keys_Values[1];
		}else{
			System.out.println("ProtocolIceHome : no exite ninguna llave sensor-valor , el mensaje puede ser nulo");	
		}
		
		return value;
		
	}
	


}
